import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont

img = cv2.imread("../images/dog3.jpg")

def dramText(img):
    pillowimg = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    draw = ImageDraw.Draw(pillowimg)  # 图像上打印
    # 参数 1：字体文件路径，参数 2：字体大小
    font = ImageFont.truetype("simhei.ttf", 40, encoding="utf-8")
    # 参数 1：打印坐标，参数 2：文本，参数 3：字体颜色，参数 4：字体
    draw.text((0, 0), "你好", (255, 0, 0), font=font)
    # PIL 图像转 cv2 图像
    cv2charimg = cv2.cvtColor(np.array(pillowimg), cv2.COLOR_RGB2BGR)
    return cv2charimg

img_new = dramText(img)
cv2.imshow("res", img_new)
cv2.waitKey(0)
cv2.destroyAllWindows()